package com.sam.net.demo4;

import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;

/**
 * 实现TCP图片上传客户端
 *  步骤：
 *      1、Socket套接字链接服务器
 *      2、通过Socket获取字节输出流，些图片
 *      3、使用自己的流对象，读取图片数据源
 *      4、读取图片，使用字节输出流，将图片写到服务器
 *      5、通过socket套接字输入流，读取服务器返回的信息
 *      6、关闭资源
 *
 */
public class TCPClent {
    public static void main(String[] args) {
        try {
            Socket socket = new Socket("127.0.0.1", 8888);
            //获得字节输出流 图片写到服务器
            OutputStream outputStream = socket.getOutputStream();
            //创建字节输入流，读取本机图片
            FileInputStream fis = new FileInputStream("d://t.JPG");
            //开始读字节数组
            int len = 0;
            byte[] bytes = new byte[1024];
            while ((len = fis.read(bytes))!= -1){
                outputStream.write(bytes, 0, len);
            }

            socket.shutdownOutput();

            //获取字节输入流 得到服务器返回状态
            InputStream inputStream = socket.getInputStream();

            len = inputStream.read(bytes);

            System.out.println(new String(bytes, 0, len));

            fis.close();
            socket.close();


        } catch (IOException e) {
            e.printStackTrace();
        }

    }
}
